The present disclosure relates generally to digital video editing, and more specifically to avoiding jitter in motion estimated video.
When editing a segment of digital video, motion estimation techniques may be used to simulate the motion portrayed in the video segment at a faster speed or a slower speed. For example, 60 frames of video played at 30 frames per second may portray the motion of a baseball from point A to point B in two seconds. To portray the same motion of the baseball from point A to point B at half the speed of the original video, the 60 frames may be played at 15 frames per second for four seconds. In some circumstances, slowing the frame rate may be undesirable, such as when only a portion of the video is to be altered. Also, the slower frame rate may produce choppy motion. One way to overcome these and other undesirable aspects is to insert an interpolated frame between each of the 60 original frames. The position of the baseball in each interpolated frame is estimated based on its position in the original reference frames. The resulting approximately 120 frames, when played at the original 30 frames per second for approximately four seconds, will portray the motion of the baseball from point A to point B at half the speed of the original video.
Interpolated frames are generated using motion estimation techniques. When a frame at relative time 1.x (“frame 1.x”) is needed between a reference frame at relative time 1.0 (“frame 1.0”) and a reference frame at relative time 2.0 (“frame 2.0”), forward and backward motion vectors may be calculated between frame 1.0 and frame 2.0. Frame 1.0 may be warped to relative time 1.x using the forward motion vectors, and frame 2.0 may be warped to the relative time 1.x using the backward motion vectors. The resulting images may then be blended together.